home *** CD-ROM | disk | FTP | other *** search
- Path: informatik.tu-muenchen.de!fischerj
- From: fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Qblit intereference again
- Date: 5 Mar 1996 13:35:42 GMT
- Organization: Technische Universitaet Muenchen, Germany
- Distribution: world
- Message-ID: <4hhfve$4jf@sunsystem5.informatik.tu-muenchen.de>
- References: <4gb6om$104@sunsystem5.informatik.tu-muenchen.de> <4gg00a$gqm@oreig.uji.es> <4gj1vq$f9c@sunsystem5.informatik.tu-muenchen.de> <871.6628T745T276@ifi.uio.no> <4h4djq$le8@sunsystem5.informatik.tu-muenchen.de> <598.6635T987T401@ifi.uio.no>
- NNTP-Posting-Host: hphalle6g.informatik.tu-muenchen.de
- Originator: fischerj@hphalle6g.informatik.tu-muenchen.de
-
-
- In article <598.6635T987T401@ifi.uio.no>, ludvigp@ifi.uio.no (Ludvig Pedersen) writes:
- |> Organization: Dept. of Informatics, University of Oslo, Norway
- |> Lines: 28
- |> Message-ID: <598.6635T987T401@ifi.uio.no>
- |> References: <4gb6om$104@sunsystem5.informatik.tu-muenchen.de>
- |> <4gg00a$gqm@oreig.uji.es> <4gj1vq$f9c@sunsystem5.informatik.tu-muenchen.de>
- |> <871.6628T745T276@ifi.uio.no> <4h4djq$le8@sunsystem5.informatik.tu-muenchen.de>
- |> NNTP-Posting-Host: gymir.ifi.uio.no
- |> X-Newsreader: THOR 2.22 (Amiga;TCP/IP)
- |>
- |>
- |> >|> You get lockups because you don't send a Signal in the CleanUp routine.
- |>
- |> >I set a global var.
- |> >Why should not sending a singal cause a lock of blitter, global for all tasks
- |> >? I never heard that I _must_ signal someone.
- |>
- |> You can signal to yourself. :) Anyway you don't have to send a signal.
- |> The important thing is that you don't busy-wait for the QBlit to finish
-
- Yeah! Thanks to all that replied me :)
-
- When I read about "do not busywait" I knew it was the bug before testing
- out ;) Indeed the picviewer it interfered with set down his pri when doing
- windowupddate (to not slow down normal tasks).
-
- mhm I hope OwnBlitter() will not do busywait ? Else lockup, too.
-
- |> with the CPU.
- |>
- |> Like in C:
- |>
- |> while(!BlitterIsDone);
- |>
- |> or in ASM:
- |>
- |> .Wait:
- |> tst BlitterIsDone
- |> beq .Wait
- |>
- |> That is NO-NO. :-)
-
- yes! I agree! :)
-
- My solution is:
-
- wait:
- tst bltbsy
- beq ok
- WaitTOF();
- bra wait
- ok:
-
- normally there's no wait at all because you choose number of
- blitterpasses so blitter won't brake.
-
- The check is just for safety, and the lock showed that checking IS
- nessesary (sometimes, very seldom, if interference from other tasks).
-
- |>
- |>
- |> <sb>Ludde - Amiga Demo Coder
- |> <sb>Virtual Reality & Official Be developer
- |> <sb>ludvigp@ifi.uio.no
- |>
- ------------------------------------------------------------------------
- fischerj@Informatik.TU-Muenchen.DE (Juergen "Rally" Fischer) =:)
-
-